home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / lib / readline / chardefs.h < prev    next >
C/C++ Source or Header  |  1991-12-06  |  2KB  |  81 lines

  1. /* chardefs.h -- Character definitions for readline. */
  2. #ifndef _CHARDEFS_
  3.  
  4. #include <ctype.h>
  5.  
  6. #ifndef savestring
  7. #define savestring(x) (char *)strcpy (xmalloc (1 + strlen (x)), (x))
  8. #endif
  9.  
  10. #ifndef whitespace
  11. #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
  12. #endif
  13.  
  14. #ifdef CTRL
  15. #undef CTRL
  16. #endif
  17.  
  18. /* Some character stuff. */
  19. #define control_character_threshold 0x020   /* smaller than this is control */
  20. #define meta_character_threshold 0x07f        /* larger than this is Meta. */
  21. #define control_character_bit 0x40        /* 0x000000, must be off. */
  22. #define meta_character_bit 0x080        /* x0000000, must be on. */
  23.  
  24. #define CTRL(c) ((c) & (~control_character_bit))
  25. #define META(c) ((c) | meta_character_bit)
  26.  
  27. #define UNMETA(c) ((c) & (~meta_character_bit))
  28. #define UNCTRL(c) to_upper(((c)|control_character_bit))
  29.  
  30. #define lowercase_p(c) (((c) > ('a' - 1) && (c) < ('z' + 1)))
  31. #define uppercase_p(c) (((c) > ('A' - 1) && (c) < ('Z' + 1)))
  32.  
  33. #define pure_alphabetic(c) (lowercase_p(c) || uppercase_p(c))
  34.  
  35. #ifndef to_upper
  36. #define to_upper(c) (lowercase_p(c) ? ((c) - 32) : (c))
  37. #define to_lower(c) (uppercase_p(c) ? ((c) + 32) : (c))
  38. #endif
  39.  
  40. #define CTRL_P(c) ((c) < control_character_threshold)
  41. #define META_P(c) ((c) > meta_character_threshold)
  42.  
  43. #ifndef NEWLINE
  44. #define NEWLINE '\n'
  45. #endif
  46.  
  47. #ifndef RETURN
  48. #define RETURN CTRL('M')
  49. #endif
  50.  
  51. #ifndef RUBOUT
  52. #define RUBOUT 0x07f
  53. #endif
  54.  
  55. #ifndef TAB
  56. #define TAB '\t'
  57. #endif
  58.  
  59. #ifdef ABORT_CHAR
  60. #undef ABORT_CHAR
  61. #endif
  62. #define ABORT_CHAR CTRL('G')
  63.  
  64. #ifdef PAGE
  65. #undef PAGE
  66. #endif
  67. #define PAGE CTRL('L')
  68.  
  69. #ifdef SPACE
  70. #undef SPACE
  71. #endif
  72. #define SPACE 0x020
  73.  
  74. #ifdef ESC
  75. #undef ESC
  76. #endif
  77.  
  78. #define ESC CTRL('[')
  79.  
  80. #endif  /* _CHARDEFS_ */
  81.